<!DOCTYPE html>
<html>
    <head>
        <title>demo</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
        <style>
            body {
                font-family: Monospace;
                background-color: #f0f0f0;
                margin: 0px;
                overflow: hidden;
            }
        </style>
    </head>
    <body>
        <script src="https://cdn.bootcdn.net/ajax/libs/three.js/73/three.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/tween.js/0.11.0/Tween.min.js"></script>
		<script src="https://unpkg.com/three@0.73.1/examples/js/controls/TrackballControls.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/stats.js/10/Stats.min.js"></script>
        <script>

            var jsonstr = '[{"boxId":"94267880101F756","x":-58.950001,"y":-70.099998,"z":-476.899994,"width":113.900002,"height":86.800003,"length":238.199997,"weight":378.500000,"platform":"platform03","order":1,"material":"","type":1,"place":100},{"boxId":"94267880101F774","x":-63.250000,"y":31.700001,"z":-529.299988,"width":105.300003,"height":116.800003,"length":133.399994,"weight":335.500000,"platform":"platform03","order":2,"material":"","type":1,"place":100},{"boxId":"94267880101F773","x":50.650002,"y":-55.049999,"z":-529.400024,"width":105.300003,"height":116.900002,"length":133.199997,"weight":334.500000,"platform":"platform03","order":3,"material":"","type":1,"place":100},{"boxId":"94267880101F776","x":29.250000,"y":45.900002,"z":-554.750000,"width":62.500000,"height":85.000000,"length":82.500000,"weight":82.000000,"platform":"platform03","order":4,"material":"","type":1,"place":100},{"boxId":"94267880101F775","x":50.549999,"y":-55.950001,"z":-396.149994,"width":105.099998,"height":115.099998,"length":133.300003,"weight":334.500000,"platform":"platform03","order":5,"material":"","type":1,"place":100},{"boxId":"94267880101F759","x":17.500000,"y":17.100000,"z":-433.299988,"width":39.000000,"height":31.000000,"length":59.000000,"weight":21.000000,"platform":"platform03","order":6,"material":"","type":1,"place":100},{"boxId":"94267880101G567","x":-75.900002,"y":-68.500000,"z":-291.799988,"width":80.000000,"height":90.000000,"length":132.000000,"weight":138.500000,"platform":"platform04","order":7,"material":"","type":1,"place":100},{"boxId":"94267880101G566","x":-75.900002,"y":21.500000,"z":-291.799988,"width":80.000000,"height":90.000000,"length":132.000000,"weight":138.199997,"platform":"platform04","order":8,"material":"","type":1,"place":100},{"boxId":"94267880101G132","x":-93.900002,"y":78.000000,"z":-325.799988,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.760000,"platform":"platform04","order":9,"material":"","type":1,"place":100},{"boxId":"94267880101G202","x":-93.900002,"y":101.000000,"z":-325.799988,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.840000,"platform":"platform04","order":10,"material":"","type":1,"place":100},{"boxId":"94267880101G565","x":30.100000,"y":-68.500000,"z":-289.500000,"width":132.000000,"height":90.000000,"length":80.000000,"weight":138.500000,"platform":"platform04","order":11,"material":"","type":1,"place":100},{"boxId":"94267880101G564","x":30.100000,"y":21.500000,"z":-289.500000,"width":132.000000,"height":90.000000,"length":80.000000,"weight":138.500000,"platform":"platform04","order":12,"material":"","type":1,"place":100},{"boxId":"94267880101G166","x":-3.900000,"y":78.000000,"z":-307.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.800000,"platform":"platform04","order":13,"material":"","type":1,"place":100},{"boxId":"94267880101G212","x":-3.900000,"y":101.000000,"z":-307.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.840000,"platform":"platform04","order":14,"material":"","type":1,"place":100},{"boxId":"94267880101G563","x":30.100000,"y":-68.500000,"z":-209.500000,"width":132.000000,"height":90.000000,"length":80.000000,"weight":137.500000,"platform":"platform04","order":15,"material":"","type":1,"place":100},{"boxId":"94267880101G562","x":30.100000,"y":21.500000,"z":-209.500000,"width":132.000000,"height":90.000000,"length":80.000000,"weight":138.000000,"platform":"platform04","order":16,"material":"","type":1,"place":100},{"boxId":"94267880101G135","x":-3.900000,"y":78.000000,"z":-227.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.520000,"platform":"platform04","order":17,"material":"","type":1,"place":100},{"boxId":"94267880101G207","x":-3.900000,"y":101.000000,"z":-227.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.780000,"platform":"platform04","order":18,"material":"","type":1,"place":100},{"boxId":"94267880101G561","x":-75.900002,"y":-68.500000,"z":-159.800003,"width":80.000000,"height":90.000000,"length":132.000000,"weight":137.500000,"platform":"platform04","order":19,"material":"","type":1,"place":100},{"boxId":"94267880101G560","x":-75.900002,"y":21.500000,"z":-159.800003,"width":80.000000,"height":90.000000,"length":132.000000,"weight":138.000000,"platform":"platform04","order":20,"material":"","type":1,"place":100},{"boxId":"94267880101G152","x":-93.900002,"y":78.000000,"z":-193.800003,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.500000,"platform":"platform04","order":21,"material":"","type":1,"place":100},{"boxId":"94267880101G180","x":-93.900002,"y":101.000000,"z":-193.800003,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.520000,"platform":"platform04","order":22,"material":"","type":1,"place":100},{"boxId":"94267880101G559","x":30.100000,"y":-68.500000,"z":-129.500000,"width":132.000000,"height":90.000000,"length":80.000000,"weight":138.500000,"platform":"platform04","order":23,"material":"","type":1,"place":100},{"boxId":"94267880101G558","x":30.100000,"y":21.500000,"z":-129.500000,"width":132.000000,"height":90.000000,"length":80.000000,"weight":139.000000,"platform":"platform04","order":24,"material":"","type":1,"place":100},{"boxId":"94267880101G191","x":-3.900000,"y":78.000000,"z":-147.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.820000,"platform":"platform04","order":25,"material":"","type":1,"place":100},{"boxId":"94267880101G173","x":-3.900000,"y":101.000000,"z":-147.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.840000,"platform":"platform04","order":26,"material":"","type":1,"place":100},{"boxId":"94267880101F968","x":-75.900002,"y":-71.250000,"z":-33.799999,"width":80.000000,"height":84.500000,"length":120.000000,"weight":91.800003,"platform":"platform04","order":27,"material":"","type":1,"place":100},{"boxId":"94267880101D357","x":-75.900002,"y":8.750000,"z":-33.799999,"width":80.000000,"height":75.500000,"length":120.000000,"weight":105.500000,"platform":"platform04","order":28,"material":"","type":1,"place":100},{"boxId":"94267880101C753","x":-75.900002,"y":78.750000,"z":-33.799999,"width":80.000000,"height":64.500000,"length":120.000000,"weight":93.500000,"platform":"platform04","order":29,"material":"","type":1,"place":100},{"boxId":"94267880101G175","x":4.100000,"y":-68.000000,"z":-59.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.000000,"platform":"platform04","order":30,"material":"","type":1,"place":100},{"boxId":"94267880101G150","x":4.100000,"y":23.000000,"z":-59.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":98.199997,"platform":"platform04","order":31,"material":"","type":1,"place":100},{"boxId":"94267880101G148","x":-3.900000,"y":80.000000,"z":-67.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.420000,"platform":"platform04","order":32,"material":"","type":1,"place":100},{"boxId":"94267880101D395","x":-18.650000,"y":96.250000,"z":-76.750000,"width":34.500000,"height":9.500000,"length":25.500000,"weight":2.080000,"platform":"platform04","order":33,"material":"","type":1,"place":100},{"boxId":"94267880101G174","x":-14.650000,"y":106.000000,"z":-80.400002,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.860000,"platform":"platform04","order":34,"material":"","type":1,"place":100},{"boxId":"94267880101G197","x":74.099998,"y":-68.000000,"z":-49.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":97.199997,"platform":"platform04","order":35,"material":"","type":1,"place":100},{"boxId":"94267880101G186","x":74.099998,"y":23.000000,"z":-49.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.800003,"platform":"platform04","order":36,"material":"","type":1,"place":100},{"boxId":"94267880101G195","x":66.099998,"y":80.000000,"z":-57.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.520000,"platform":"platform04","order":37,"material":"","type":1,"place":100},{"boxId":"94267880101G149","x":53.200001,"y":96.500000,"z":-68.250000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.860000,"platform":"platform04","order":38,"material":"","type":1,"place":100},{"boxId":"94267880101G196","x":53.200001,"y":106.500000,"z":-68.250000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.850000,"platform":"platform04","order":39,"material":"","type":1,"place":100},{"boxId":"94267880101G147","x":4.100000,"y":-68.000000,"z":0.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.000000,"platform":"platform04","order":40,"material":"","type":1,"place":100},{"boxId":"94267880101G161","x":4.100000,"y":23.000000,"z":0.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.000000,"platform":"platform04","order":41,"material":"","type":1,"place":100},{"boxId":"94267880101G184","x":-3.900000,"y":80.000000,"z":-7.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.820000,"platform":"platform04","order":42,"material":"","type":1,"place":100},{"boxId":"94267880101G185","x":-14.650000,"y":96.500000,"z":-20.400000,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":43,"material":"","type":1,"place":100},{"boxId":"94267880101G146","x":-14.650000,"y":106.500000,"z":-20.400000,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":44,"material":"","type":1,"place":100},{"boxId":"94267880101G127","x":-75.900002,"y":-68.000000,"z":56.200001,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.000000,"platform":"platform04","order":45,"material":"","type":1,"place":100},{"boxId":"94267880101G194","x":-75.900002,"y":23.000000,"z":56.200001,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.800003,"platform":"platform04","order":46,"material":"","type":1,"place":100},{"boxId":"94267880101G145","x":-83.900002,"y":80.000000,"z":48.200001,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.560000,"platform":"platform04","order":47,"material":"","type":1,"place":100},{"boxId":"94267880101G160","x":-94.650002,"y":96.500000,"z":35.299999,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":48,"material":"","type":1,"place":100},{"boxId":"94267880101G126","x":-94.650002,"y":106.500000,"z":35.299999,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.870000,"platform":"platform04","order":49,"material":"","type":1,"place":100},{"boxId":"94267880101G130","x":74.099998,"y":-68.000000,"z":30.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.599998,"platform":"platform04","order":50,"material":"","type":1,"place":100},{"boxId":"94267880101G183","x":74.099998,"y":23.000000,"z":30.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.000000,"platform":"platform04","order":51,"material":"","type":1,"place":100},{"boxId":"94267880101G159","x":66.099998,"y":80.000000,"z":22.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.540000,"platform":"platform04","order":52,"material":"","type":1,"place":100},{"boxId":"94267880101G193","x":53.200001,"y":96.500000,"z":11.750000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.850000,"platform":"platform04","order":53,"material":"","type":1,"place":100},{"boxId":"94267880101G129","x":53.200001,"y":106.500000,"z":11.750000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.850000,"platform":"platform04","order":54,"material":"","type":1,"place":100},{"boxId":"94267880101G169","x":4.100000,"y":-68.000000,"z":60.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.000000,"platform":"platform04","order":55,"material":"","type":1,"place":100},{"boxId":"94267880101G131","x":4.100000,"y":23.000000,"z":60.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":98.400002,"platform":"platform04","order":56,"material":"","type":1,"place":100},{"boxId":"94267880101G125","x":-3.900000,"y":80.000000,"z":52.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.360000,"platform":"platform04","order":57,"material":"","type":1,"place":100},{"boxId":"94267880101G182","x":-14.650000,"y":96.500000,"z":39.599998,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.860000,"platform":"platform04","order":58,"material":"","type":1,"place":100},{"boxId":"94267880101G168","x":-14.650000,"y":106.500000,"z":39.599998,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.860000,"platform":"platform04","order":59,"material":"","type":1,"place":100},{"boxId":"94267880101G201","x":-75.900002,"y":-68.000000,"z":116.199997,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.000000,"platform":"platform04","order":60,"material":"","type":1,"place":100},{"boxId":"94267880101G165","x":-75.900002,"y":23.000000,"z":116.199997,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.000000,"platform":"platform04","order":61,"material":"","type":1,"place":100},{"boxId":"94267880101G192","x":-83.900002,"y":80.000000,"z":108.199997,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.420000,"platform":"platform04","order":62,"material":"","type":1,"place":100},{"boxId":"94267880101G120","x":-94.650002,"y":96.500000,"z":95.300003,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.860000,"platform":"platform04","order":63,"material":"","type":1,"place":100},{"boxId":"94267880101G123","x":-94.650002,"y":106.500000,"z":95.300003,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":64,"material":"","type":1,"place":100},{"boxId":"94267880101G211","x":74.099998,"y":-68.000000,"z":110.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.000000,"platform":"platform04","order":65,"material":"","type":1,"place":100},{"boxId":"94267880101G134","x":74.099998,"y":23.000000,"z":110.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.400002,"platform":"platform04","order":66,"material":"","type":1,"place":100},{"boxId":"94267880101G128","x":66.099998,"y":80.000000,"z":102.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.780000,"platform":"platform04","order":67,"material":"","type":1,"place":100},{"boxId":"94267880101G188","x":53.200001,"y":96.500000,"z":91.750000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.840000,"platform":"platform04","order":68,"material":"","type":1,"place":100},{"boxId":"94267880101G140","x":53.200001,"y":106.500000,"z":91.750000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.860000,"platform":"platform04","order":69,"material":"","type":1,"place":100},{"boxId":"94267880101G206","x":4.100000,"y":-68.000000,"z":120.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.400002,"platform":"platform04","order":70,"material":"","type":1,"place":100},{"boxId":"94267880101G151","x":4.100000,"y":23.000000,"z":120.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.400002,"platform":"platform04","order":71,"material":"","type":1,"place":100},{"boxId":"94267880101G181","x":-3.900000,"y":80.000000,"z":112.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.440000,"platform":"platform04","order":72,"material":"","type":1,"place":100},{"boxId":"94267880101G177","x":-14.650000,"y":96.500000,"z":99.599998,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":73,"material":"","type":1,"place":100},{"boxId":"94267880101G143","x":-14.650000,"y":106.500000,"z":99.599998,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":74,"material":"","type":1,"place":100},{"boxId":"94267880101G179","x":-75.900002,"y":-68.000000,"z":176.199997,"width":80.000000,"height":91.000000,"length":60.000000,"weight":98.000000,"platform":"platform04","order":75,"material":"","type":1,"place":100},{"boxId":"94267880101G190","x":-75.900002,"y":23.000000,"z":176.199997,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.199997,"platform":"platform04","order":76,"material":"","type":1,"place":100},{"boxId":"94267880101G167","x":-83.900002,"y":80.000000,"z":168.199997,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.480000,"platform":"platform04","order":77,"material":"","type":1,"place":100},{"boxId":"94267880101G209","x":-94.650002,"y":96.500000,"z":155.300003,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":78,"material":"","type":1,"place":100},{"boxId":"94267880101G114","x":-94.650002,"y":106.500000,"z":155.300003,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":79,"material":"","type":1,"place":100},{"boxId":"94267880101G158","x":4.100000,"y":-68.000000,"z":180.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.199997,"platform":"platform04","order":80,"material":"","type":1,"place":100},{"boxId":"94267880101G124","x":4.100000,"y":23.000000,"z":180.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":98.400002,"platform":"platform04","order":81,"material":"","type":1,"place":100},{"boxId":"94267880101G156","x":-3.900000,"y":80.000000,"z":172.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.400000,"platform":"platform04","order":82,"material":"","type":1,"place":100},{"boxId":"94267880101G137","x":-14.650000,"y":96.500000,"z":159.600006,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":83,"material":"","type":1,"place":100},{"boxId":"94267880101G214","x":-14.650000,"y":106.500000,"z":159.600006,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":84,"material":"","type":1,"place":100},{"boxId":"94267880101G144","x":-75.900002,"y":-68.000000,"z":236.199997,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.599998,"platform":"platform04","order":85,"material":"","type":1,"place":100},{"boxId":"94267880101G138","x":-75.900002,"y":23.000000,"z":236.199997,"width":80.000000,"height":91.000000,"length":60.000000,"weight":95.800003,"platform":"platform04","order":86,"material":"","type":1,"place":100},{"boxId":"94267880101G162","x":-83.900002,"y":80.000000,"z":228.199997,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.600000,"platform":"platform04","order":87,"material":"","type":1,"place":100},{"boxId":"94267880101G199","x":-94.650002,"y":96.500000,"z":215.300003,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":88,"material":"","type":1,"place":100},{"boxId":"94267880101G154","x":-94.650002,"y":106.500000,"z":215.300003,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":89,"material":"","type":1,"place":100},{"boxId":"94267880101G121","x":74.099998,"y":-68.000000,"z":190.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":98.199997,"platform":"platform04","order":90,"material":"","type":1,"place":100},{"boxId":"94267880101G141","x":74.099998,"y":23.000000,"z":190.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.199997,"platform":"platform04","order":91,"material":"","type":1,"place":100},{"boxId":"94267880101G203","x":66.099998,"y":80.000000,"z":182.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.460000,"platform":"platform04","order":92,"material":"","type":1,"place":100},{"boxId":"94267880101G204","x":53.200001,"y":96.500000,"z":171.750000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.840000,"platform":"platform04","order":93,"material":"","type":1,"place":100},{"boxId":"94267880101G163","x":53.200001,"y":106.500000,"z":171.750000,"width":18.200001,"height":10.000000,"length":42.500000,"weight":1.840000,"platform":"platform04","order":94,"material":"","type":1,"place":100},{"boxId":"94267880101G118","x":4.100000,"y":-68.000000,"z":240.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":95.800003,"platform":"platform04","order":95,"material":"","type":1,"place":100},{"boxId":"94267880101G210","x":4.100000,"y":23.000000,"z":240.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.199997,"platform":"platform04","order":96,"material":"","type":1,"place":100},{"boxId":"94267880101G153","x":-3.900000,"y":80.000000,"z":232.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.500000,"platform":"platform04","order":97,"material":"","type":1,"place":100},{"boxId":"94267880101G117","x":-14.650000,"y":96.500000,"z":219.600006,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.840000,"platform":"platform04","order":98,"material":"","type":1,"place":100},{"boxId":"94267880101G171","x":-14.650000,"y":106.500000,"z":219.600006,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":99,"material":"","type":1,"place":100},{"boxId":"94267880101G178","x":-75.900002,"y":-68.000000,"z":296.200012,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.000000,"platform":"platform04","order":100,"material":"","type":1,"place":100},{"boxId":"94267880101G189","x":-75.900002,"y":23.000000,"z":296.200012,"width":80.000000,"height":91.000000,"length":60.000000,"weight":98.000000,"platform":"platform04","order":101,"material":"","type":1,"place":100},{"boxId":"94267880101G198","x":-83.900002,"y":80.000000,"z":288.200012,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.500000,"platform":"platform04","order":102,"material":"","type":1,"place":100},{"boxId":"94267880101G157","x":-94.650002,"y":96.500000,"z":275.299988,"width":42.500000,"height":10.000000,"length":18.200001,"weight":1.850000,"platform":"platform04","order":103,"material":"","type":1,"place":100},{"boxId":"94267880101G172","x":74.099998,"y":-68.000000,"z":270.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":97.800003,"platform":"platform04","order":104,"material":"","type":1,"place":100},{"boxId":"94267880101G115","x":74.099998,"y":23.000000,"z":270.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.000000,"platform":"platform04","order":105,"material":"","type":1,"place":100},{"boxId":"94267880101G213","x":66.099998,"y":80.000000,"z":262.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.480000,"platform":"platform04","order":106,"material":"","type":1,"place":100},{"boxId":"94267880101G215","x":4.100000,"y":-68.000000,"z":300.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":98.400002,"platform":"platform04","order":107,"material":"","type":1,"place":100},{"boxId":"94267880101G200","x":4.100000,"y":23.000000,"z":300.500000,"width":80.000000,"height":91.000000,"length":60.000000,"weight":97.199997,"platform":"platform04","order":108,"material":"","type":1,"place":100},{"boxId":"94267880101G113","x":-3.900000,"y":80.000000,"z":292.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.580000,"platform":"platform04","order":109,"material":"","type":1,"place":100},{"boxId":"94267880101G155","x":-75.900002,"y":-68.000000,"z":356.200012,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.599998,"platform":"platform04","order":110,"material":"","type":1,"place":100},{"boxId":"94267880101G205","x":-75.900002,"y":23.000000,"z":356.200012,"width":80.000000,"height":91.000000,"length":60.000000,"weight":96.800003,"platform":"platform04","order":111,"material":"","type":1,"place":100},{"boxId":"94267880101G170","x":-83.900002,"y":80.000000,"z":348.200012,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.420000,"platform":"platform04","order":112,"material":"","type":1,"place":100},{"boxId":"94267880101G164","x":74.099998,"y":-68.000000,"z":350.500000,"width":60.000000,"height":91.000000,"length":80.000000,"weight":96.800003,"platform":"platform04","order":113,"material":"","type":1,"place":100},{"boxId":"94267880101F967","x":74.099998,"y":19.250000,"z":350.500000,"width":60.000000,"height":83.500000,"length":80.000000,"weight":41.400002,"platform":"platform04","order":114,"material":"","type":1,"place":100},{"boxId":"94267880101G187","x":66.099998,"y":72.500000,"z":342.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.460000,"platform":"platform04","order":115,"material":"","type":1,"place":100},{"boxId":"94267880101G176","x":66.099998,"y":95.500000,"z":342.500000,"width":44.000000,"height":23.000000,"length":64.000000,"weight":9.520000,"platform":"platform04","order":116,"material":"","type":1,"place":100},{"boxId":"94267880101G208","x":-3.900000,"y":-102.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.520000,"platform":"platform04","order":117,"material":"","type":1,"place":100},{"boxId":"94267880101G116","x":-3.900000,"y":-79.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.500000,"platform":"platform04","order":118,"material":"","type":1,"place":100},{"boxId":"94267880101G139","x":-3.900000,"y":-56.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.560000,"platform":"platform04","order":119,"material":"","type":1,"place":100},{"boxId":"94267880101G119","x":-3.900000,"y":-33.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.440000,"platform":"platform04","order":120,"material":"","type":1,"place":100},{"boxId":"94267880101G136","x":-3.900000,"y":-10.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.500000,"platform":"platform04","order":121,"material":"","type":1,"place":100},{"boxId":"94267880101G142","x":-3.900000,"y":13.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":10.420000,"platform":"platform04","order":122,"material":"","type":1,"place":100},{"boxId":"94267880101G122","x":-3.900000,"y":36.000000,"z":352.500000,"width":64.000000,"height":23.000000,"length":44.000000,"weight":9.460000,"platform":"platform04","order":123,"material":"","type":1,"place":100},{"boxId":"94267880101F969","x":-9.650000,"y":66.500000,"z":353.250000,"width":52.500000,"height":38.000000,"length":45.500000,"weight":8.960000,"platform":"platform04","order":124,"material":"","type":1,"place":100},{"boxId":"94267880101G243","x":-88.400002,"y":-86.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":130.399994,"platform":"platform05","order":125,"material":"","type":1,"place":100},{"boxId":"94267880101G242","x":-88.400002,"y":-31.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":128.399994,"platform":"platform05","order":126,"material":"","type":1,"place":100},{"boxId":"94267880101G241","x":-88.400002,"y":24.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":130.199997,"platform":"platform05","order":127,"material":"","type":1,"place":100},{"boxId":"94267880101G240","x":-88.400002,"y":79.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":126.800003,"platform":"platform05","order":128,"material":"","type":1,"place":100},{"boxId":"94267880101G239","x":-33.400002,"y":-86.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":104.400002,"platform":"platform05","order":129,"material":"","type":1,"place":100},{"boxId":"94267880101G446","x":-33.400002,"y":-31.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":82.400002,"platform":"platform05","order":130,"material":"","type":1,"place":100},{"boxId":"94267880101G445","x":-33.400002,"y":24.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":127.199997,"platform":"platform05","order":131,"material":"","type":1,"place":100},{"boxId":"94267880101G444","x":-33.400002,"y":79.000000,"z":409.200012,"width":55.000000,"height":55.000000,"length":46.000000,"weight":127.400002,"platform":"platform05","order":132,"material":"","type":1,"place":100},{"boxId":"94267880101G443","x":21.600000,"y":-86.000000,"z":413.500000,"width":55.000000,"height":55.000000,"length":46.000000,"weight":127.199997,"platform":"platform05","order":133,"material":"","type":1,"place":100},{"boxId":"94267880101G442","x":21.600000,"y":-31.000000,"z":413.500000,"width":55.000000,"height":55.000000,"length":46.000000,"weight":128.000000,"platform":"platform05","order":134,"material":"","type":1,"place":100},{"boxId":"94267880101G451","x":13.100000,"y":4.500000,"z":409.500000,"width":38.000000,"height":16.000000,"length":38.000000,"weight":34.990002,"platform":"platform05","order":135,"material":"","type":1,"place":100},{"boxId":"94267880101G450","x":13.100000,"y":20.500000,"z":409.500000,"width":38.000000,"height":16.000000,"length":38.000000,"weight":34.970001,"platform":"platform05","order":136,"material":"","type":1,"place":100},{"boxId":"94267880101G472","x":13.100000,"y":36.500000,"z":409.500000,"width":38.000000,"height":16.000000,"length":38.000000,"weight":35.090000,"platform":"platform05","order":137,"material":"","type":1,"place":100},{"boxId":"94267880101G471","x":13.100000,"y":52.500000,"z":409.500000,"width":38.000000,"height":16.000000,"length":38.000000,"weight":35.029999,"platform":"platform05","order":138,"material":"","type":1,"place":100},{"boxId":"94267880101G305","x":13.100000,"y":68.500000,"z":409.500000,"width":38.000000,"height":16.000000,"length":38.000000,"weight":34.970001,"platform":"platform05","order":139,"material":"","type":1,"place":100},{"boxId":"95567881T000012","x":-65.900002,"y":-50.250000,"z":492.200012,"width":100.000000,"height":126.500000,"length":120.000000,"weight":252.000000,"platform":"platform36","order":140,"material":"","type":1,"place":100},{"boxId":"95567881T000013","x":-65.900002,"y":48.250000,"z":492.200012,"width":100.000000,"height":70.500000,"length":120.000000,"weight":138.000000,"platform":"platform36","order":141,"material":"","type":1,"place":100},{"boxId":"95567881T000014","x":-96.400002,"y":97.500000,"z":461.200012,"width":39.000000,"height":28.000000,"length":58.000000,"weight":11.500000,"platform":"platform36","order":142,"material":"","type":1,"place":100},{"boxId":"95567881T000011","x":44.099998,"y":-50.250000,"z":486.500000,"width":120.000000,"height":126.500000,"length":100.000000,"weight":252.000000,"platform":"platform36","order":143,"material":"","type":1,"place":100},{"boxId":"95567881T000015","x":23.350000,"y":49.750000,"z":456.750000,"width":78.500000,"height":73.500000,"length":40.500000,"weight":40.500000,"platform":"platform36","order":144,"material":"","type":1,"place":100}]';
			var jsonstr2 = '{"container_length":1192.000000,"container_width":231.800003,"container_height":227.000000,"container_max_load":23000.000000,"container_type_name":"40GP"}'
            var objectArray= JSON.parse(jsonstr);
			var truckJsonObj = JSON.parse(jsonstr2);
            var container, stats;
            var camera, controls, scene, projector, renderer;
            var objects = [], plane;
            var mouse = new THREE.Vector2(), offset = new THREE.Vector3(), INTERSECTED, SELECTED; 
            init();
            animate();
            function init() {
                container = document.createElement( 'div' );
                document.body.appendChild( container );
                camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 10000 );
                camera.position.x = -600;
                camera.position.y = 400;
                camera.position.z = 1000;
                controls = new THREE.TrackballControls( camera );
                controls.rotateSpeed = 1.0;
                controls.zoomSpeed = 1.2;
                controls.panSpeed = 0.8;
                controls.noZoom = false;
                controls.noPan = true;
                controls.staticMoving = false;
                controls.dynamicDampingFactor = 0.3;
                scene = new THREE.Scene();
                var ambientLight = new THREE.AmbientLight( Math.random() *0xffffff );
                scene.add( ambientLight );
                var directionalLight = new THREE.DirectionalLight( Math.random() * 0xffffff );
                directionalLight.position.set( 0, 1, 0 );
                scene.add( directionalLight );
                var pointLight = new THREE.PointLight( 0xff0000, 1, 500 );
                pointLight.position.set( 0, 0, -200 );
                scene.add( pointLight );

                container_length = truckJsonObj.container_length;
                container_width = truckJsonObj.container_width;
                container_height = truckJsonObj.container_height;
                var cube_1 = new THREE.Mesh(
                    new THREE.BoxGeometry( container_width, container_height, container_length, 1,1,1 ), 
                    new THREE.MeshBasicMaterial( { color:0xefb73e, wireframe:true } )
                );
                cube_1.position.x = 0;
                cube_1.position.y = 0;
                cube_1.position.z = 0;
                scene.add( cube_1 );

                truck_head_length = 145;
                var truck_head_1 = new THREE.Mesh(
                    new THREE.BoxGeometry( 200, 100, truck_head_length, 1, 1, 5 ), 
                    new THREE.MeshBasicMaterial( { color: 0xffffff, wireframe:true } )
                );
                truck_head_1.position.x = 0;
                truck_head_1.position.y = -50;
                truck_head_1.position.z = -(container_length/2 + truck_head_length/2);
                scene.add( truck_head_1 );
                
                truck_head_length_2 = 80;
                var truck_head_2 = new THREE.Mesh(
                    new THREE.BoxGeometry( 170, 60, truck_head_length_2, 1, 0, 5 ), 
                    new THREE.MeshBasicMaterial( { color: 0xffffff, wireframe:true } )
                );
                truck_head_2.position.x = 0;
                truck_head_2.position.y = 30;
                truck_head_2.position.z = -(container_length/2 + truck_head_length_2/2);
                scene.add( truck_head_2 );
                
                truck_head_chimney_radius = 7;
                var truck_head_chimney1 = new THREE.Mesh(
                    new THREE.CylinderGeometry( truck_head_chimney_radius, truck_head_chimney_radius, 300, 20 ), 
                    new THREE.MeshBasicMaterial( { color:0xffffff, wireframe:true } )
                );
                truck_head_chimney1.position.x = 100;
                truck_head_chimney1.position.y = 50;
                truck_head_chimney1.position.z = -(container_length/2 + truck_head_chimney_radius/2);
                scene.add( truck_head_chimney1 );
                
                var truck_head_chimney2 = new THREE.Mesh(
                    new THREE.CylinderGeometry( truck_head_chimney_radius, truck_head_chimney_radius, 300, 20 ), 
                    new THREE.MeshBasicMaterial( { color:0xffffff, wireframe:true } )
                );
                truck_head_chimney2.position.x = -100;
                truck_head_chimney2.position.y = 50;
                truck_head_chimney2.position.z = -(container_length/2 + truck_head_chimney_radius/2);
                scene.add( truck_head_chimney2 );
        
                var truck_wheel_1 = new THREE.Mesh(new THREE.CylinderGeometry( 50, 50, 20, 50 ), 
                    new THREE.MeshBasicMaterial( { color:0xffffff, wireframe:true } )
                );
                truck_wheel_1.position.x = 110;
                truck_wheel_1.position.y = -100;
                truck_wheel_1.position.z = -(container_length/2 + truck_head_length_2/2 + 20) ;
                truck_wheel_1.rotation.x = 0;
                truck_wheel_1.rotation.y = 0;
                truck_wheel_1.rotation.z = 1.6;
                scene.add( truck_wheel_1 );
                
                var truck_wheel_2 = new THREE.Mesh(new THREE.CylinderGeometry( 50, 50, 20, 50 ), 
                    new THREE.MeshBasicMaterial( { color:0xffffff, wireframe:true } )
                );
                truck_wheel_2.position.x = -110;
                truck_wheel_2.position.y = -100;
                truck_wheel_2.position.z = -(container_length/2 + truck_head_length_2/2 + 20);
                truck_wheel_2.rotation.x = 0;
                truck_wheel_2.rotation.y = 0;
                truck_wheel_2.rotation.z = 1.6;
                scene.add( truck_wheel_2 );

                offset_2 = -240;
                var truck_wheel_5 = new THREE.Mesh(new THREE.CylinderGeometry( 50, 50, 20, 50 ), 
                    new THREE.MeshBasicMaterial( { color:0xffffff, wireframe:true } )
                );
                truck_wheel_5.position.x = container_width/2 + 5;
                truck_wheel_5.position.y = -100;
                truck_wheel_5.position.z = (container_length/2 + truck_head_length_2/2 + offset_2) ;
                truck_wheel_5.rotation.x = 0;
                truck_wheel_5.rotation.y = 0;
                truck_wheel_5.rotation.z = 1.6;
                scene.add( truck_wheel_5 );

                var truck_wheel_6 = new THREE.Mesh(new THREE.CylinderGeometry( 50, 50, 20, 50 ), 
                    new THREE.MeshBasicMaterial( { color:0xffffff, wireframe:true } )
                );
                truck_wheel_6.position.x = -container_width/2 - 5;
                truck_wheel_6.position.y = -100;
                truck_wheel_6.position.z = (container_length/2 + truck_head_length_2/2 + offset_2);
                truck_wheel_6.rotation.x = 0;
                truck_wheel_6.rotation.y = 0;
                truck_wheel_6.rotation.z = 1.6;
                scene.add( truck_wheel_6 );

                for (var i in objectArray) {
                    if (objectArray[i].type==2) {
						var cylinderTopR = objectArray[i].length / 2;
						var cylinderHeight = objectArray[i].height;
						if (objectArray[i].place == 1 || objectArray[i].place == 2)
						{
							cylinderHeight = objectArray[i].width;
						}
						
                        var object2 = new THREE.Mesh(
						    new THREE.CylinderGeometry(cylinderTopR, cylinderTopR, cylinderHeight, 60),
                            new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff , wireframe:false } ) 
                        ); 
                        object2.position.x = objectArray[i].x;
                        object2.position.y = objectArray[i].y;
                        object2.position.z = objectArray[i].z;
                        if (objectArray[i].place==1) {
                            object2.rotation.z = 55;
                        }
                        if (objectArray[i].place==2) {
                            object2.rotation.x = 55;
                        }
                        object2.width = objectArray[i].width;
                        object2.height = objectArray[i].height;
                        object2.length = objectArray[i].length;
                        object2.weight = objectArray[i].weight;
                        object2.platform = objectArray[i].platform;
                        object2.order = objectArray[i].order;
                        object2.materialInfo = objectArray[i].material;
                        object2.boxId = objectArray[i].boxId;
                        object2.type = objectArray[i].type;
                        object2.place = objectArray[i].place;
                        scene.add( object2 );
                        objects.push( object2 );
                    }
                    if (objectArray[i].type==1) {
						if (objectArray[i].place == 200)
						{
							var box_length = objectArray[i].width;
                            var box_width = objectArray[i].length;
						}
						else
						{
							var box_length = objectArray[i].length;
							var box_width = objectArray[i].width;
						}
						var box_height = objectArray[i].height;
                        var object = new THREE.Mesh(
                            new THREE.BoxGeometry( box_width, box_height, box_length, 1, 1, 1 ), 
                            new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff , wireframe:false } ) 
                        ); 
                        object.position.x = objectArray[i].x;
                        object.position.y = objectArray[i].y;
                        object.position.z = objectArray[i].z;
						object.length = objectArray[i].length;
						object.width = objectArray[i].width;
						object.height = objectArray[i].height;
                        object.weight = objectArray[i].weight;
                        object.platform = objectArray[i].platform;
                        object.order = objectArray[i].order;
                        object.materialInfo = objectArray[i].material;
                        object.boxId = objectArray[i].boxId;
                        object.type = objectArray[i].type;
                        object.place = objectArray[i].place;
                        scene.add( object );
                        objects.push( object );
                    }
                }

                plane = new THREE.Mesh(
                    new THREE.PlaneGeometry( 2000, 2000, 8, 8 ),
                    new THREE.MeshBasicMaterial( { color: 0x000000, opacity: 0.25, transparent: true, wireframe: true } )
                );
                plane.visible = true;
                scene.add( plane );
                projector = new THREE.Projector();
                renderer = new THREE.WebGLRenderer( { antialias: true } );
                renderer.sortObjects = false;
                renderer.setSize( window.innerWidth, window.innerHeight );
                renderer.shadowMapEnabled = true;
                renderer.shadowMapType = THREE.PCFShadowMap;
                container.appendChild( renderer.domElement );

                stats = new Stats();
                stats.domElement.style.position = 'absolute';
                stats.domElement.style.top = '0px';
                container.appendChild( stats.domElement );

                window.addEventListener( 'resize', onWindowResize, false );
                renderer.domElement.addEventListener( 'mousemove', onDocumentMouseMove, false );
                renderer.domElement.addEventListener( 'mousedown', onDocumentMouseDown, false );
                renderer.domElement.addEventListener( 'mouseup', onDocumentMouseUp, false );
            }

            function onDocumentMouseMove( event ) {
                event.preventDefault();
                mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
                mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
                var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );
                projector.unprojectVector( vector, camera );
                var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );
                var intersects = raycaster.intersectObjects( objects );
                if ( intersects.length > 0 ) {
                    if ( INTERSECTED != intersects[ 0 ].object ) {
                        INTERSECTED = intersects[ 0 ].object;
                        plane.position.copy( INTERSECTED.position );
                        plane.lookAt( camera.position );
                    }
                    container.style.cursor = 'pointer';
                } else {
                    container.style.cursor = 'auto';
                }
            }

            function onDocumentMouseDown( event ) {
                event.preventDefault();
                var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );
                projector.unprojectVector( vector, camera );
                var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );
                var intersects = raycaster.intersectObjects( objects );
                if ( intersects.length > 0 ) {
                    controls.enabled = false;  
                    SELECTED = intersects[ 0 ].object;
                    var info = '<B>' + 
                        'boxId: ' + SELECTED.boxId +
                        '</br> x: ' + SELECTED.position.x + 
                        '</br> y: ' + SELECTED.position.y + 
                        '</br> z: ' + SELECTED.position.z + 
                        '</br> width: ' + SELECTED.width + 
                        '</br> height: ' + SELECTED.height + 
                        '</br> length: ' + SELECTED.length + 
                        '</br> weight: ' + SELECTED.weight +
                        '</br> platform: ' + SELECTED.platform +
                        '</br> order: ' + SELECTED.order +
                        '</br> material: ' + SELECTED.materialInfo + 
                        '</br> type: ' + SELECTED.type + 
                        '</br> place: ' + SELECTED.place + 
                        '</B>' +
                        '</br>' + 
                        '--------------------------' + 
                        '</br>' +
                        'type(1:箱体 2:圆柱体)' +
                        '</br>' +
                        'place(1:品字型 2:田字型)';
                    $("#objectInfo").html(info);
                }
            }

            function onDocumentMouseUp( event ) {
                event.preventDefault();
                controls.enabled = true;
                if ( INTERSECTED ) {
                    plane.position.copy( INTERSECTED.position );
                    SELECTED = null;
                }
                container.style.cursor = 'auto';
            }

            function onWindowResize() {
                camera.aspect = window.innerWidth / window.innerHeight;
                camera.updateProjectionMatrix();
                renderer.setSize( window.innerWidth, window.innerHeight );
            }

            function animate() {
                requestAnimationFrame( animate );
                render();
                stats.update();
            }

            function render() {
                controls.update();
                renderer.render( scene, camera );
            }

        </script>
        <div id="objectInfo" class="a2"><br/>点击物体获取相关属性</div>
        <style>
            .a2{position:absolute; left:20px; top:50px; bottom:0px; width:180px; height:250px; z-index:9999; background: #00FFFF; font-weight:bold; }
        </style>
    </body>
</html>